eigen Interface

public interface eigen

Module Procedures

private pure function eigen_1(a, right) result(rst)

Solves the eigenvalue problem where matrix is is square, but not necessarily symmetric. Optionally, the left eigenvalue problem can be solved such that .

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in), dimension(:,:) :: a

The matrix .

logical, intent(in), optional :: right

An optional parameter specifying if the right eigenvalue solution should be computed (true), or the left eigenvalue solution should be computed (false). The default is true such that the right eigenvalue problem is solved.

Return Value type(eigen_solution)

The solution.

private pure function eigen_2(a, b, right) result(rst)

Solves the eigenvalue problem where and are both N-by-N matrices. Optionally, the left eigenvalue problem can be solved such that .

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in), dimension(:,:) :: a

The matrix .

real(kind=real64), intent(in), dimension(:,:) :: b

The matrix .

logical, intent(in), optional :: right

An optional parameter specifying if the right eigenvalue solution should be computed (true), or the left eigenvalue solution should be computed (false). The default is true such that the right eigenvalue problem is solved.

Return Value type(eigen_solution)

The solution.